#coding:utf-8
#负责整个项目的配置信息

class Config:
    #配置数据库和SQLAchemy
    HOSTNAME = '127.0.0.1'
    PORT = '3306'
    DATABASE = 'test1'
    USERNAME = 'root'
    PASSWORD = '123456'
    DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8mb4'.format(USERNAME, PASSWORD, HOSTNAME, PORT, DATABASE)
    SQLALCHEMY_DATABASE_URI = DB_URI #数据库关系连接的URL
    SQLALCHEMY_TRACK_MODIFICATIONS = False #是否追踪数据的修改

    #日志的配置
    LOGGING_LEVEL='DEBUG' #默认级别
    LOGGING_FILE_DIR='logs/' #放在哪个目录下
    LOGGING_FILE_MAX_BYTES=300 * 1024 * 1024 #最大日志的大小
    LOGGING_FILE_BACKUP=5 #保留文件的个数

    #采用Redis保存数据，默认是内存，需要安装flask-redis
    RATELIMIT_STORAGE_URL='redis://127.0.0.1:6379/0'
    #限制策略：移动窗口：时间窗口会自动变化
    RATELIMIT_STRATEGY='moving-window'

    #redis数据库的连接地址，使用数据库1来保存数据和短信验证码
    REDIS_URL='redis://127.0.0.1:6379/1'

#开发环境下的配置信息
class DevelopmentConfig(Config):
    DEBUG=True
    SQLALCHEMY_ECHO=True #打印SQL语句


#生产环境的配置信息
class ProductConfig(Config):
    pass
























